package com.medical.data.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

/**
 * <p>
 *
 * </p>
 *
 * @author cj
 * @since 2024-02-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "FollowUpPatient对象", description = "")
@Accessors
public class FollowUpPatient implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    private String name;

    @ApiModelProperty(value = "所处项目id")
    private String projectId;

    /**
     * 患者身份证id 与patient表保持一致
     */
    private String idCard;

    @ApiModelProperty(value = "随访时间")
    private String followUpTime;

    private String diseaseType;

    private String doctorName;

    private Date inTime;

    private Date outTime;

    @ApiModelProperty(value = "节点id")
    private String nodeId;

    @ApiModelProperty(value = "节点名称")
    private String nodeName;

/*    @TableField(typeHandler = JacksonTypeHandler.class)
    private Map<String, Object> FollowUpTimeJson;*/

    @ApiModelProperty(value = "0为未出院")
    private Boolean status;

    @TableLogic
    @ApiModelProperty(value = "软删除：0代表未删除1代表删除")
    private Boolean isDelete;

    private String code;

    private String hospitalName;

    private String Phone;

    @Version
    @ApiModelProperty(value = "版本号")
    private Integer version;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /**
     * 医生id
     */
    @ApiModelProperty(value = "医生id")
    private String doctorId;

    @ApiModelProperty(value = "患者id")
    private String patientId;

    @ApiModelProperty(value = "是否关闭随访")
    private Boolean isDown;

    @ApiModelProperty(value = "是否关闭随访")
    private Boolean isRemind;
}
